home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 1995 #5 & #6 / Amiga Plus CD - 1995 - No. 5 and 6.iso / pd / spiele / gnuchess / src / amiga / gnuchess-4.0.pl75.patch < prev    next >
Text File  |  1995-08-13  |  23KB  |  944 lines

  1. *** binsort.c.orig      Sun Jul 02 03:51:04 1995
  2. --- binsort.c   Mon Aug 14 01:17:02 1995
  3. ***************
  4. *** 64,70 ****
  5.   #define T                     4
  6.   #define P                     3
  7.   
  8. ! /*#define FUNCPROTO   1        Good for debugging under ANSI C */
  9.   /*#define ALIGNMENT  (sizeof(int))*/
  10.   #define ALIGNMENT  (sizeof(double))
  11.   
  12. --- 64,72 ----
  13.   #define T                     4
  14.   #define P                     3
  15.   
  16. ! #ifdef _amigados
  17. ! #define FUNCPROTO   1       /* Good for debugging under ANSI C */
  18. ! #endif
  19.   /*#define ALIGNMENT  (sizeof(int))*/
  20.   #define ALIGNMENT  (sizeof(double))
  21.   
  22. ***************
  23. *** 82,93 ****
  24.   #    include <sys/types.h>        /* for statistics & io */
  25.   #    include <sys/stat.h>         /* for i/o */
  26.   #    include <errno.h>
  27.   #    include <sys/param.h>        /* for statistics */
  28.   #    include <sys/times.h>        /* for statistics */
  29.   #    include <time.h>
  30.   #    include <stdlib.h>
  31.   
  32. ! #    ifndef NOUNISTD          /* ESV, for instance, doesn't have it */
  33.   #      include <unistd.h>
  34.   #    endif
  35.   #    ifndef  SEEK_SET
  36. --- 84,99 ----
  37.   #    include <sys/types.h>        /* for statistics & io */
  38.   #    include <sys/stat.h>         /* for i/o */
  39.   #    include <errno.h>
  40. + #    if HAVE_SYS_PARAM_H
  41.   #    include <sys/param.h>        /* for statistics */
  42. + #    endif
  43. + #    if HAVE_SYS_TIMES_H
  44.   #    include <sys/times.h>        /* for statistics */
  45. + #    endif
  46.   #    include <time.h>
  47.   #    include <stdlib.h>
  48.   
  49. ! #    if HAVE_UNISTD_H
  50.   #      include <unistd.h>
  51.   #    endif
  52.   #    ifndef  SEEK_SET
  53. ***************
  54. *** 815,821 ****
  55.   /*=================================================================*/
  56.   static int
  57.   cmproutine(e1, e2)
  58. ! void    *e1, *e2;           /* basics elements - records */
  59.   {
  60.     register struct key_dsc      *pkey;
  61.     register int                  i, j;
  62. --- 821,827 ----
  63.   /*=================================================================*/
  64.   static int
  65.   cmproutine(e1, e2)
  66. ! const void    *e1, *e2;          /* basics elements - records */
  67.   {
  68.     register struct key_dsc      *pkey;
  69.     register int                  i, j;
  70. ***************
  71. *** 830,837 ****
  72.   /*=================================================================*/
  73.   static int
  74.   pointer_cmproutine(pe1, pe2)
  75. ! void      *pe1;
  76. ! void      *pe2;
  77.   {
  78.     register struct key_dsc      *pkey;
  79.     register int                  i, j;
  80. --- 836,843 ----
  81.   /*=================================================================*/
  82.   static int
  83.   pointer_cmproutine(pe1, pe2)
  84. ! const void      *pe1;
  85. ! const void      *pe2;
  86.   {
  87.     register struct key_dsc      *pkey;
  88.     register int                  i, j;
  89. ***************
  90. *** 1171,1177 ****
  91. --- 1177,1185 ----
  92.   prtstatist(realtime)
  93.   long            realtime;
  94.   {
  95. + #if HAVE_TIMES
  96.     struct tms    spenttime;
  97. + #endif
  98.     int           tapenum;
  99.     unsigned long one, total;
  100.   
  101. ***************
  102. *** 1188,1198 ****
  103. --- 1196,1208 ----
  104.       }
  105.     fprintf(stderr,"\t\tTotal  : %10ld\n", total);
  106.     fprintf(stderr,"\tReal time [s]:\t\t\t%d\n", (int)realtime + 1);
  107. + #if HAVE_TIMES
  108.     times(&spenttime);
  109.     fprintf(stderr,"\tUser time [s]:\t\t\t%.2f\n",
  110.       (float)spenttime.tms_utime/(float)CLOCKFREQ);
  111.     fprintf(stderr,"\tSystem time [s]:\t\t%.2f\n",
  112.       (float)spenttime.tms_stime/(float)CLOCKFREQ);
  113. + #endif
  114.   }
  115.   
  116.   
  117. ***************
  118. *** 1500,1506 ****
  119. --- 1510,1524 ----
  120.     struct stat statstr;
  121.   
  122.     ctape = TAPE + num;
  123. + #if HAVE_GETPID
  124.     sprintf(scrname, "%s/binsort%07d%d", scrpath, getpid(), num); /* gen name */
  125. + #else
  126. + #if HAVE_TMPNAM
  127. +   sprintf(scrname, "%s/binsort%s", scrpath, tmpnam(NULL));
  128. + #else
  129. +   sprintf(scrname, "%s/binsort", scrpath);
  130. + #endif
  131. + #endif
  132.     if ((fdes = open(scrname, O_RDWR | O_CREAT, S_IREAD|S_IWRITE)) < 0)
  133.                 /* create scratch file */
  134.       ioerr();
  135. *** book.c.orig Sun Jul 02 03:51:04 1995
  136. --- book.c      Sun Aug 13 20:19:47 1995
  137. ***************
  138. *** 23,29 ****
  139.   #include "gnuchess.h"
  140.   #include "ttable.h"           /* uses hashbd, hashkey */
  141.   #include "ataks.h"
  142. ! #if !defined(AMIGADOS) && !defined(Think_C) && !defined(WIN32)
  143.   #include <unistd.h>
  144.   #endif
  145.   #ifdef Think_C
  146. --- 23,29 ----
  147.   #include "gnuchess.h"
  148.   #include "ttable.h"             /* uses hashbd, hashkey */
  149.   #include "ataks.h"
  150. ! #if HAVE_UNISTD_H
  151.   #include <unistd.h>
  152.   #endif
  153.   #ifdef Think_C
  154. ***************
  155. *** 39,44 ****
  156. --- 39,45 ----
  157.   #include <io.h>
  158.   #endif
  159.   #if !defined MSDOS && !defined(Think_C)
  160. + #undef  O_BINARY
  161.   #define O_BINARY 0
  162.   #endif
  163.   #include <fcntl.h>
  164. ***************
  165. *** 52,57 ****
  166. --- 53,66 ----
  167.   
  168.   #ifdef ECO
  169.   #include <sys/types.h>
  170. + #ifdef _amigados
  171. +   /*
  172. +   **  Unfortunately sys/stat.h includes libraries/dos.h, which
  173. +   **  would result in a redefinition of SHORT. We fix this by
  174. +   **  faking, that libraries/dos.h would be already included.
  175. +   */
  176. + #define LIBRARIES_DOS_H
  177. + #endif
  178.   #include <sys/stat.h>
  179.   #endif
  180.   
  181. *** configure.in.orig   Sun Jul 02 03:51:04 1995
  182. --- configure.in        Sun Aug 13 17:42:11 1995
  183. ***************
  184. *** 16,22 ****
  185.   
  186.   dnl Checks for header files.
  187.   AC_HEADER_STDC
  188. ! AC_CHECK_HEADERS(fcntl.h time.h sys/file.h sys/ioctl.h sys/time.h unistd.h)
  189.   
  190.   dnl Checks for typedefs, structures, and compiler characteristics.
  191.   AC_C_CONST
  192. --- 16,23 ----
  193.   
  194.   dnl Checks for header files.
  195.   AC_HEADER_STDC
  196. ! AC_CHECK_HEADERS(fcntl.h time.h sys/file.h sys/ioctl.h sys/time.h unistd.h\
  197. !                sys/param.h sys/times.h sys/types.h memory.h)
  198.   
  199.   dnl Checks for typedefs, structures, and compiler characteristics.
  200.   AC_C_CONST
  201. ***************
  202. *** 28,33 ****
  203.   AC_PROG_GCC_TRADITIONAL
  204.   dnl AC_FUNC_SETVBUF_REVERSED
  205.   AC_TYPE_SIGNAL
  206. ! AC_CHECK_FUNCS(gettimeofday strstr strtol strtoul memset)
  207.   
  208.   AC_OUTPUT(Makefile)
  209. --- 29,34 ----
  210.   AC_PROG_GCC_TRADITIONAL
  211.   dnl AC_FUNC_SETVBUF_REVERSED
  212.   AC_TYPE_SIGNAL
  213. ! AC_CHECK_FUNCS(gettimeofday strstr strtol strtoul memset getpid tmpnam)
  214.   
  215.   AC_OUTPUT(Makefile)
  216. *** dspcom.c.orig       Sun Jul 02 03:51:05 1995
  217. --- dspcom.c    Sun Aug 13 21:54:31 1995
  218. ***************
  219. *** 29,35 ****
  220.   #include "gnuchess.h"
  221.   #include "ataks.h"
  222.   #include "ttable.h" /* calls ZeroTTable(), probably belongs in main.c*/
  223. ! #ifdef HAVE_GETTIMEOFDAY
  224.   #include <sys/time.h>
  225.   #endif
  226.   CHAR mvstr[5][7];
  227. --- 29,35 ----
  228.   #include "gnuchess.h"
  229.   #include "ataks.h"
  230.   #include "ttable.h" /* calls ZeroTTable(), probably belongs in main.c*/
  231. ! #if HAVE_SYS_TIME_H
  232.   #include <sys/time.h>
  233.   #endif
  234.   CHAR mvstr[5][7];
  235. ***************
  236. *** 44,50 ****
  237. --- 44,52 ----
  238.   SHORT ecomove;
  239.   #endif
  240.   CHAR *InPtr;
  241. + #if HAVE_UNISTD_H
  242.   #include <unistd.h>
  243. + #endif
  244.   
  245.   #if defined(sun) && defined(sparc) && defined(svr4)
  246.   #include <sys/filio.h>
  247. ***************
  248. *** 59,77 ****
  249.   #ifdef Think_C
  250.   #include "doevents.h"
  251.   #else
  252. ! #ifdef WIN32
  253. ! #include <sys/types.h>
  254. ! #else /* Other */
  255.   #include <sys/param.h>
  256.   #include <sys/types.h>
  257.   #include <sys/file.h>
  258. - #ifndef AMIGADOS
  259. - #include <sys/ioctl.h>
  260.   #endif
  261.   #endif
  262.   #endif /* Think_C */
  263.   #endif /* MSDOS */
  264.   
  265.   void
  266.   algbr (SHORT f, SHORT t, SHORT flag)
  267.   
  268. --- 61,89 ----
  269.   #ifdef Think_C
  270.   #include "doevents.h"
  271.   #else
  272. ! #if HAVE_SYS_PARAM_H
  273.   #include <sys/param.h>
  274. + #endif
  275. + #if HAVE_SYS_TYPES_H
  276.   #include <sys/types.h>
  277. + #endif
  278. + #if HAVE_SYS_FILE_H
  279.   #include <sys/file.h>
  280.   #endif
  281. + #if HAVE_SYS_IOCTL_H
  282. + #include <sys/ioctl.h>
  283.   #endif
  284.   #endif /* Think_C */
  285.   #endif /* MSDOS */
  286.   
  287. + #if defined(_amigados)
  288. + /*
  289. + **  We cannot use the Amiga headers, because exec/types.h would
  290. + **  redefine SHORT. Fortunately we do not need very much of them:
  291. + */
  292. + #define SIGBREAKF_SET 0xf0000   /* SIGBREAKF_CTRL_(C|D|E|F) */
  293. + #endif
  294.   void
  295.   algbr (SHORT f, SHORT t, SHORT flag)
  296.   
  297. ***************
  298. *** 1176,1182 ****
  299.       flag.beep = true;
  300.       dither = 0;
  301.       flag.easy = true;
  302. ! #endif XBOARD
  303.       UpdateDisplay (0, 0, 1, 0);
  304.     }
  305.     else if (strcmp (s, CP[171]) == 0)      /*list*/
  306. --- 1188,1194 ----
  307.       flag.beep = true;
  308.       dither = 0;
  309.       flag.easy = true;
  310. ! #endif /* XBOARD */
  311.       UpdateDisplay (0, 0, 1, 0);
  312.     }
  313.     else if (strcmp (s, CP[171]) == 0)        /*list*/
  314. ***************
  315. *** 1438,1444 ****
  316.   
  317.   {
  318.     struct timeval tv;
  319. ! #ifndef MSDOS
  320.     int nchar;
  321.     extern int errno;
  322.     int i;
  323. --- 1450,1456 ----
  324.   
  325.   {
  326.     struct timeval tv;
  327. ! #if !defined(MSDOS)  &&  !defined(_amigados)
  328.     int nchar;
  329.     extern int errno;
  330.     int i;
  331. ***************
  332. *** 1459,1466 ****
  333.     flag.bothsides = false;
  334.       }
  335.   #endif /*FIONREAD*/
  336. ! #else /* MSDOS */
  337.     if (kbhit ())
  338.       {
  339.     if (!flag.timeout)
  340.     flag.back = true;
  341. --- 1471,1490 ----
  342.     flag.bothsides = false;
  343.       }
  344.   #endif /*FIONREAD*/
  345. ! #else /* MSDOS || _amigados */
  346. ! #if defined(_amigados)  &&  defined(XBOARD)
  347. !   /*
  348. !   **  On the Amiga we have two possibilities of interrupting GNU
  349. !   **  Chess: Breaking with Ctrl-C is less comfortable for the
  350. !   **  user, but checking for it is faster.
  351. !   **
  352. !   **  We choose the comfortable way for curses and the fast way
  353. !   **  for AmyBoard.
  354. !   */
  355. !   if (SetSignal(0, SIGBREAKF_SET) & SIGBREAKF_SET)
  356. ! #else
  357.     if (kbhit ())
  358. + #endif
  359.       {
  360.     if (!flag.timeout)
  361.     flag.back = true;
  362. ***************
  363. *** 1519,1525 ****
  364.     }
  365.   #endif /* XBOARD */
  366.   #else /*!WIN32*/
  367. ! #if !defined(MSDOS)
  368.     int nchar;
  369.     extern int errno;
  370.     int i;
  371. --- 1543,1549 ----
  372.     }
  373.   #endif /* XBOARD */
  374.   #else /*!WIN32*/
  375. ! #if !defined(MSDOS)  &&  !defined(_amigados)
  376.     int nchar;
  377.     extern int errno;
  378.     int i;
  379. ***************
  380. *** 1540,1553 ****
  381.     flag.bothsides = false;
  382.       }
  383.   #endif /*FIONREAD*/
  384. ! #else /* MSDOS */
  385.     if (kbhit ())
  386.       {
  387.     if (!flag.timeout)
  388.     flag.back = true;
  389.     flag.bothsides = false;
  390.       }
  391. ! #endif /* MSDOS */
  392.   #endif /* !WIN32 */
  393.     et = (time ((time_t *) 0) - time0) * 100;
  394.     ETnodes = NodeCnt + ZNODES;
  395. --- 1564,1589 ----
  396.     flag.bothsides = false;
  397.       }
  398.   #endif /*FIONREAD*/
  399. ! #else /* MSDOS || _amigados */
  400. !   /*
  401. !   **  On the Amiga we have two possibilities of interrupting GNU Chess:
  402. !   **  Breaking with Ctrl-C is less comfortable for the user, but
  403. !   **  checking for it is faster.
  404. !   **
  405. !   **  We choose the comfortable way for curses and the fast way for
  406. !   **   AmyBoard.
  407. !   */
  408. ! #if defined(_amigados) && defined(XBOARD)
  409. !   if (SetSignal(0, SIGBREAKF_SET) & SIGBREAKF_SET)
  410. ! #else
  411.     if (kbhit ())
  412. + #endif
  413.       {
  414.     if (!flag.timeout)
  415.     flag.back = true;
  416.     flag.bothsides = false;
  417.       }
  418. ! #endif /* MSDOS || _amigados */
  419.   #endif /* !WIN32 */
  420.     et = (time ((time_t *) 0) - time0) * 100;
  421.     ETnodes = NodeCnt + ZNODES;
  422. *** eco.c.orig  Sun Jul 02 03:51:05 1995
  423. --- eco.c       Sun Aug 13 17:42:20 1995
  424. ***************
  425. *** 23,29 ****
  426.   #include "gnuchess.h"
  427.   #include "ttable.h" /* uses hashbd, hashkey */
  428.   #include "ataks.h"
  429. ! #if !defined(AMIGADOS) && !defined(Think_C)
  430.   #include <unistd.h>
  431.   #endif
  432.   #ifdef Think_C
  433. --- 23,29 ----
  434.   #include "gnuchess.h"
  435.   #include "ttable.h" /* uses hashbd, hashkey */
  436.   #include "ataks.h"
  437. ! #if HAVE_UNISTD_H
  438.   #include <unistd.h>
  439.   #endif
  440.   #ifdef Think_C
  441. *** ecocvt.c.orig       Sun Jul 02 03:51:05 1995
  442. --- ecocvt.c    Sun Aug 13 17:42:23 1995
  443. ***************
  444. *** 1,5 ****
  445. --- 1,13 ----
  446.   #include <fcntl.h>
  447.   #include <sys/types.h>
  448. + #if defined(_amigados)
  449. +   /*
  450. +   **  Unfortunately sys/stat.h includes libraries/dos.h, which
  451. +   **  would result in a redefinition of SHORT. We fix this by
  452. +   **  faking, that libraries/dos.h would be already included.
  453. +   */
  454. + #define LIBRARIES_DOS_H
  455. + #endif
  456.   #include <sys/stat.h>
  457.   #include "gnuchess.h"
  458.   struct gdxdata
  459. *** gnuan.c.orig        Sun Jul 02 03:51:06 1995
  460. --- gnuan.c     Sun Aug 13 17:42:31 1995
  461. ***************
  462. *** 74,83 ****
  463.   #include <string.h>
  464.   #include <io.h>
  465.   #else
  466.   #include <sys/param.h>
  467.   #include <sys/types.h>
  468.   #include <sys/file.h>
  469. ! #ifndef AMIGADOS
  470.   #include <sys/ioctl.h>
  471.   #endif
  472.   void TerminateSearch (int), Die (int);
  473. --- 74,89 ----
  474.   #include <string.h>
  475.   #include <io.h>
  476.   #else
  477. + #if HAVE_SYS_PARAM_H
  478.   #include <sys/param.h>
  479. + #endif
  480. + #if HAVE_SYS_TYPES_H
  481.   #include <sys/types.h>
  482. + #endif
  483. + #if HAVE_SYS_FILE_H
  484.   #include <sys/file.h>
  485. ! #endif
  486. ! #if HAVE_SYS_IOCTL_H
  487.   #include <sys/ioctl.h>
  488.   #endif
  489.   void TerminateSearch (int), Die (int);
  490. ***************
  491. *** 622,628 ****
  492.   {
  493.       struct timeval tv;
  494.   
  495. ! #ifndef MSDOS
  496.       int nchar;
  497.       extern int errno;
  498.       int i;
  499. --- 628,634 ----
  500.   {
  501.       struct timeval tv;
  502.   
  503. ! #if !defined(MSDOS)  &&  !defined(_amigados)
  504.       int nchar;
  505.       extern int errno;
  506.       int i;
  507. ***************
  508. *** 643,649 ****
  509.       flag.bothsides = false;
  510.     }
  511.   #endif /* FIONREAD */
  512. ! #else
  513.       if (kbhit ())
  514.     {
  515.       if (!flag.timeout)
  516. --- 649,655 ----
  517.       flag.bothsides = false;
  518.     }
  519.   #endif /* FIONREAD */
  520. ! #else  /* MSDOS || _amigados */
  521.       if (kbhit ())
  522.     {
  523.       if (!flag.timeout)
  524. ***************
  525. *** 650,656 ****
  526.           flag.back = true;
  527.       flag.bothsides = false;
  528.     }
  529. ! #endif /* MSDOS */
  530.       gettimeofday (&tv, NULL);
  531.       et = (tv.tv_sec * 100 + (tv.tv_usec / 10000)) - time0;
  532.       ETnodes = NodeCnt + ZNODES;
  533. --- 656,662 ----
  534.           flag.back = true;
  535.       flag.bothsides = false;
  536.     }
  537. ! #endif /* MSDOS || _amigados */
  538.       gettimeofday (&tv, NULL);
  539.       et = (tv.tv_sec * 100 + (tv.tv_usec / 10000)) - time0;
  540.       ETnodes = NodeCnt + ZNODES;
  541. ***************
  542. *** 679,685 ****
  543.    */
  544.   
  545.   {
  546. ! #ifndef MSDOS
  547.       int nchar;
  548.       extern int errno;
  549.       int i;
  550. --- 685,691 ----
  551.    */
  552.   
  553.   {
  554. ! #if !defined(MSDOS)
  555.       int nchar;
  556.       extern int errno;
  557.       int i;
  558. ***************
  559. *** 700,706 ****
  560.       flag.bothsides = false;
  561.     }
  562.   #endif /* FIONREAD */
  563. ! #else
  564.       if (kbhit ())
  565.     {
  566.       if (!flag.timeout)
  567. --- 706,712 ----
  568.       flag.bothsides = false;
  569.     }
  570.   #endif /* FIONREAD */
  571. ! #else  /* MSDOS || _amigados */
  572.       if (kbhit ())
  573.     {
  574.       if (!flag.timeout)
  575. ***************
  576. *** 707,713 ****
  577.           flag.back = true;
  578.       flag.bothsides = false;
  579.     }
  580. ! #endif /* MSDOS */
  581.       et = (time ((long *) 0) - time0) * 100;
  582.       ETnodes = NodeCnt + ZNODES;
  583.       if (et < 0)
  584. --- 713,719 ----
  585.           flag.back = true;
  586.       flag.bothsides = false;
  587.     }
  588. ! #endif /* MSDOS || _amigados */
  589.       et = (time ((long *) 0) - time0) * 100;
  590.       ETnodes = NodeCnt + ZNODES;
  591.       if (et < 0)
  592. *** gnuchess.h.orig     Sun Jul 02 03:51:06 1995
  593. --- gnuchess.h  Sun Aug 13 21:24:46 1995
  594. ***************
  595. *** 45,51 ****
  596.   #define huge
  597.   #endif
  598.   #include <stdio.h>
  599. ! #ifdef HAVE_MEMSET
  600.   #include <memory.h>
  601.   #endif
  602.   #ifdef SIGNCHAR
  603. --- 45,51 ----
  604.   #define huge
  605.   #endif
  606.   #include <stdio.h>
  607. ! #if HAVE_MEMORY_H
  608.   #include <memory.h>
  609.   #endif
  610.   #ifdef SIGNCHAR
  611. ***************
  612. *** 92,100 ****
  613.   #define RWA_ACC "r+"
  614.   #define WA_ACC "w+"
  615.   #ifndef Think_C
  616.   #include <sys/param.h>
  617.   #include <sys/types.h>
  618. ! #ifndef AMIGADOS
  619.   #include <sys/times.h>
  620.   #endif
  621.   #endif /* Think_C */
  622. --- 92,104 ----
  623.   #define RWA_ACC "r+"
  624.   #define WA_ACC "w+"
  625.   #ifndef Think_C
  626. + #if HAVE_SYS_PARAM_H
  627.   #include <sys/param.h>
  628. + #endif
  629. + #if HAVE_SYS_TYPES_H
  630.   #include <sys/types.h>
  631. ! #endif
  632. ! #if HAVE_SYS_TIMES_H
  633.   #include <sys/times.h>
  634.   #endif
  635.   #endif /* Think_C */
  636. ***************
  637. *** 102,107 ****
  638. --- 106,125 ----
  639.   #define printz printf
  640.   #define scanz scanf
  641.   #else
  642. + #ifdef _amigados
  643. + #define EXEC_TYPES_H            /*  Prevent exec/types.h from being  */
  644. + typedef unsigned char UBYTE;    /*  included, as this would redefine */
  645. + typedef short WORD;             /*  SHORT. Some typedef's required   */
  646. + typedef unsigned short UWORD;   /*  by curses.h, however.            */
  647. + typedef long LONG;
  648. + typedef unsigned long ULONG;
  649. + #ifdef __SASC
  650. + struct timeval {
  651. +     ULONG tv_sec;
  652. +     ULONG tv_usec;
  653. + };
  654. + #endif
  655. + #endif
  656.   #include <curses.h>
  657.   #define scanz fflush(stdout),scanw
  658.   #define printz printw
  659. ***************
  660. *** 232,239 ****
  661. --- 250,261 ----
  662.   /* about 1/2 second worth of nodes for your machine */
  663.   #ifdef Think_C
  664.   #define ZNODES 500              /* check the time every ZNODES positions */
  665. + #else
  666. + #ifdef _amigados
  667. + #define ZNODES 1000             /* check the time every ZNODES positions */
  668.   #else /* Think_C */
  669.   #define ZNODES 4000             /* check the time every ZNODES positions */
  670. + #endif /* _amigados */
  671.   #endif /* Think_C */
  672.   #define MAXTCCOUNTX  5          /* max number of time clicks per search to complete ply*/
  673.   #define MAXTCCOUNTR 6           /* max number of time clicks per search extensions*/
  674. ***************
  675. *** 422,428 ****
  676.        extern unsigned int starttime;
  677.        extern SHORT distdata[64][64], taxidata[64][64];
  678.        extern CHAR mvstr[5][7];
  679. ! #ifndef AMIGADOS
  680.        extern union U admin;
  681.   #endif
  682.        extern UTSHORT bookmaxply;
  683. --- 444,450 ----
  684.        extern unsigned int starttime;
  685.        extern SHORT distdata[64][64], taxidata[64][64];
  686.        extern CHAR mvstr[5][7];
  687. ! #ifndef _amigados
  688.        extern union U admin;
  689.   #endif
  690.        extern UTSHORT bookmaxply;
  691. ***************
  692. *** 546,558 ****
  693.        extern int pick (SHORT p1, SHORT p2);
  694.        extern int VerifyMove (CHAR *s, SHORT inp, UTSHORT *mv);
  695.        extern void VMoveList (SHORT side, register SHORT ply);
  696. ! #if !defined(AMIGADOS)
  697.        extern struct gdxadmin B;
  698.   #endif
  699.   
  700. - #if defined(AMIGADOS)  &&  !defined(XBOARD)
  701. - #define exit(retcode) CleanExit(retcode)
  702. - #endif
  703.   /* Take care of MEMSET once and for all... */
  704.   #if (!defined(HAVE_MEMSET) || defined(MSDOS)) && !defined(__GNUC__)
  705.   #define memset(s,c,l) {\
  706. --- 568,577 ----
  707.        extern int pick (SHORT p1, SHORT p2);
  708.        extern int VerifyMove (CHAR *s, SHORT inp, UTSHORT *mv);
  709.        extern void VMoveList (SHORT side, register SHORT ply);
  710. ! #if !defined(_amigados)
  711.        extern struct gdxadmin B;
  712.   #endif
  713.   
  714.   /* Take care of MEMSET once and for all... */
  715.   #if (!defined(HAVE_MEMSET) || defined(MSDOS)) && !defined(__GNUC__)
  716.   #define memset(s,c,l) {\
  717. *** init.c.orig Sun Jul 02 03:51:06 1995
  718. --- init.c      Sun Aug 13 20:31:58 1995
  719. ***************
  720. *** 22,28 ****
  721.    */
  722.   #include "gnuchess.h"
  723.   #include "ttable.h"
  724. ! #ifdef HAVE_GETTIMEOFDAY
  725.   #include <sys/time.h>
  726.   #endif
  727.   extern SHORT notime;
  728. --- 22,28 ----
  729.    */
  730.   #include "gnuchess.h"
  731.   #include "ttable.h"
  732. ! #if HAVE_SYS_TIME_H
  733.   #include <sys/time.h>
  734.   #endif
  735.   extern SHORT notime;
  736. ***************
  737. *** 400,406 ****
  738.     CHAR sl[5];
  739.     int len, entry;
  740.     CHAR *p, *q;
  741. !   constfile = fopen (LANGFILE, "r");
  742.   flag.illegal=flag.mate=flag.post=flag.quit=flag.reverse=flag.bothsides=flag.onemove=flag.force=false;
  743.   flag.material=flag.coords=flag.hash=flag.easy=flag.beep=flag.rcptr=true;
  744.   flag.autolist=flag.stars=flag.shade=flag.back=flag.musttimeout=false;
  745. --- 400,406 ----
  746.     CHAR sl[5];
  747.     int len, entry;
  748.     CHAR *p, *q;
  749. !   constfile = fopen (lang ? lang : LANGFILE, "r");
  750.   flag.illegal=flag.mate=flag.post=flag.quit=flag.reverse=flag.bothsides=flag.onemove=flag.force=false;
  751.   flag.material=flag.coords=flag.hash=flag.easy=flag.beep=flag.rcptr=true;
  752.   flag.autolist=flag.stars=flag.shade=flag.back=flag.musttimeout=false;
  753. ***************
  754. *** 417,423 ****
  755. --- 417,427 ----
  756.   #endif /* MSDOS && !SEVENBIT */
  757.     if (!constfile)
  758.       {
  759. + #ifndef _amigados
  760.     constfile = fopen("../misc/gnuchess.lang", "r");
  761. + #else
  762. +       constfile = fopen("/misc/gnuchess.lang", "r");
  763. + #endif
  764.       }
  765.     if (!constfile)
  766.       {
  767. *** nondsp.c.orig       Sun Jul 02 03:51:07 1995
  768. --- nondsp.c    Sun Aug 13 17:42:37 1995
  769. ***************
  770. *** 26,34 ****
  771.   
  772.   #ifdef MSDOS
  773.   #include <dos.h>
  774. ! #elif !defined(Think_C) && !defined(WIN32)
  775.   #include <sys/file.h>
  776. ! #ifndef AMIGADOS
  777.   #include <sys/ioctl.h>
  778.   #endif
  779.   
  780. --- 26,36 ----
  781.   
  782.   #ifdef MSDOS
  783.   #include <dos.h>
  784. ! #else
  785. ! #if HAVE_SYS_FILE_H
  786.   #include <sys/file.h>
  787. ! #endif
  788. ! #if HAVE_SYS_IOCTL_H
  789.   #include <sys/ioctl.h>
  790.   #endif
  791.   
  792. ***************
  793. *** 61,67 ****
  794.   {
  795.     mycnt1 = mycnt2 = 0;
  796.   #if defined CHESSTOOL || defined XBOARD
  797. ! #if defined(SYSV)  ||  defined(AMIGADOS)
  798.     setvbuf (stdout, NULL, _IOLBF, BUFSIZ);
  799.   #elif defined(WIN32)
  800.     setbuf(stdout, NULL);
  801. --- 63,69 ----
  802.   {
  803.     mycnt1 = mycnt2 = 0;
  804.   #if defined CHESSTOOL || defined XBOARD
  805. ! #if defined(SYSV)  ||  defined(_amigados)
  806.     setvbuf (stdout, NULL, _IOLBF, BUFSIZ);
  807.   #elif defined(WIN32)
  808.     setbuf(stdout, NULL);
  809. *** nuxdsp.c.orig       Sun Jul 02 03:51:07 1995
  810. --- nuxdsp.c    Sun Aug 13 17:42:40 1995
  811. ***************
  812. *** 33,42 ****
  813.   
  814.   
  815.   #else
  816.   #include <sys/param.h>
  817.   #include <sys/types.h>
  818.   #include <sys/file.h>
  819. ! #include <curses.h>
  820.   
  821.   #endif /* MSDOS */
  822.   
  823. --- 33,49 ----
  824.   
  825.   
  826.   #else
  827. + #if HAVE_SYS_PARAM_H
  828.   #include <sys/param.h>
  829. + #endif
  830. + #if HAVE_SYS_TYPES_H
  831.   #include <sys/types.h>
  832. + #endif
  833. + #if HAVE_SYS_FILE_H
  834.   #include <sys/file.h>
  835. ! #endif
  836. ! #ifdef _amigados
  837. ! #endif
  838.   
  839.   #endif /* MSDOS */
  840.   
  841. ***************
  842. *** 87,92 ****
  843. --- 94,105 ----
  844.     signal (SIGINT, Die);
  845.   #ifndef MSDOS
  846.     signal (SIGQUIT, Die);
  847. + #ifdef _amigados
  848. +   if (atexit((void (*)(void)) endwin)) {
  849. +       perror("atexit");
  850. +       exit(10);
  851. +   }
  852. + #endif /* _amigados */
  853.     initscr ();
  854.     crmode ();
  855.   #else
  856. *** uxdsp.c.orig        Sun Jul 02 03:51:08 1995
  857. --- uxdsp.c     Sun Aug 13 17:42:43 1995
  858. ***************
  859. *** 34,42 ****
  860. --- 34,48 ----
  861.   static void param (SHORT n);
  862.   
  863.   #else
  864. + #if HAVE_SYS_PARAM_H
  865.   #include <sys/param.h>
  866. + #endif
  867. + #if HAVE_SYS_TYPES_H
  868.   #include <sys/types.h>
  869. + #endif
  870. + #if HAVE_SYS_FILE_H
  871.   #include <sys/file.h>
  872. + #endif
  873.   #include <curses.h>
  874.   
  875.   #endif /* MSDOS */
  876. ***************
  877. *** 61,66 ****
  878. --- 67,78 ----
  879.     signal (SIGINT, Die);
  880.   #ifndef MSDOS
  881.     signal (SIGQUIT, Die);
  882. + #ifdef _amigados
  883. +   if (atexit((void (*)(void)) endwin)) {
  884. +       perror("atexit");
  885. +       exit(10);
  886. +   }
  887. + #endif
  888.     initscr ();
  889.     crmode ();
  890.   #else
  891. *** ecosort.c.orig      Sun Jul 02 03:51:08 1995
  892. --- ecosort.c   Sun Aug 13 17:42:46 1995
  893. ***************
  894. *** 7,16 ****
  895.         utshort cntr;
  896.     };
  897.   char strcmd[256];
  898. ! main()
  899.   {
  900. ! sprintf(strcmd,"./binsort -r %d -k L:a:0:2<step1.eco>step2.eco\n",sizeof(struct gdxecodata));
  901. ! printf("%s",strcmd);
  902. ! system(strcmd);
  903. ! exit(0);
  904.   }
  905. --- 7,43 ----
  906.         utshort cntr;
  907.     };
  908.   char strcmd[256];
  909. ! main(argc, argv)
  910. !     int argc;
  911. !     char* argv[];
  912.   {
  913. !     char* binsortPath;
  914. !     char* step1Path;
  915. !     char* step2Path;
  916. !     if (argc > 1) {
  917. !       binsortPath = argv[1];
  918. !       if (argc > 2) {
  919. !           step1Path = argv[2];
  920. !           if (argc > 3) {
  921. !               step2Path = argv[3];
  922. !               if (argc > 4) {
  923. !                   fprintf(stderr, "Usage: ecosort <binsortpath> <step1path> <step2path>");
  924. !                   exit(10);
  925. !               }
  926. !           } else {
  927. !               step2Path = "step2.eco";
  928. !           }
  929. !       } else {
  930. !           step1Path = "step1.eco";
  931. !       }
  932. !     } else {
  933. !       binsortPath = "./binsort";
  934. !     }
  935. !     sprintf(strcmd, "%s -r %d -k L:a:0:2 <%s >%s\n",
  936. !           binsortPath, sizeof(struct gdxecodata), step1Path, step2Path);
  937. !     printf("%s",strcmd);
  938. !     system(strcmd);
  939. !     exit(0);
  940.   }
  941.